﻿using Microsoft.Xna.Framework;
using Microsoft.Xna.Framework.Graphics;

namespace Ivory
{
    public abstract class MenuScreen : Screenbase {

        //Construct
        public MenuScreen(Game game)
            : base(game)
        {

        }

        //Methods
        #region #@@ Drawing @@#
        public override void drawScreen(SpriteBatch batch, GameTime time)
        {
            RenderMenu(batch, time); 
        }

        public abstract void RenderMenu(SpriteBatch batch, GameTime time);
        
        #endregion

        #region #@@ Updating @@#
        public override void updateScreen(GameTime time, InputControl input)
        {
            //Update the game logic.
            UpdateMenu(time, input);
        }

        public abstract void UpdateMenu(GameTime time, InputControl input);

        #endregion

        #region #@@ Loading @@#
        public override void loadScreen()
        {
            
        }
        public override void preLoad()
        {
            LoadAssets();
        }

        public abstract bool LoadAssets();

        #endregion
    }
}
